Skip to content

update: Sail to 0.6.6#982

Merged
alexey-milovidov merged 5 commits into
ClickHouse:mainfrom
shehabgamin:sail-bump
Jul 20, 2026
Merged

update: Sail to 0.6.6#982
alexey-milovidov merged 5 commits into
ClickHouse:mainfrom
shehabgamin:sail-bump

Conversation

@shehabgamin

Copy link
Copy Markdown
Contributor

No description provided.

SELECT SearchPhrase FROM hits WHERE SearchPhrase <> '' ORDER BY EventTime, SearchPhrase LIMIT 10;
SELECT CounterID, AVG(length(URL)) AS l, COUNT(*) AS c FROM hits WHERE URL <> '' GROUP BY CounterID HAVING COUNT(*) > 100000 ORDER BY l DESC LIMIT 25;
SELECT REGEXP_REPLACE(Referer, '^https?://(?:www\.)?([^/]+)/.*$', '\1') AS k, AVG(length(Referer)) AS l, COUNT(*) AS c, MIN(Referer) FROM hits WHERE Referer <> '' GROUP BY k HAVING COUNT(*) > 100000 ORDER BY l DESC LIMIT 25;
SELECT REGEXP_REPLACE(Referer, '^https?://(?:www\.)?([^/]+)/.*$', '$1') AS k, AVG(length(Referer)) AS l, COUNT(*) AS c, MIN(Referer) FROM hits WHERE Referer <> '' GROUP BY k HAVING COUNT(*) > 100000 ORDER BY l DESC LIMIT 25;

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Query was previously returning incorrect results. Should be $1.

Comment thread sail-partitioned/query
os.environ["SAIL_PARQUET__BINARY_AS_STRING"] = "true"
os.environ["SAIL_PARQUET__REORDER_FILTERS"] = "true"
os.environ["SAIL_OPTIMIZER__ENABLE_JOIN_REORDER"] = "true"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This does nothing since ClickBench has no joins

Comment thread sail/query

os.environ["SAIL_PARQUET__BINARY_AS_STRING"] = "true"
os.environ["SAIL_PARQUET__REORDER_FILTERS"] = "true"
os.environ["SAIL_OPTIMIZER__ENABLE_JOIN_REORDER"] = "true"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This does nothing since ClickBench has no joins

Comment thread sail/queries.sql
SELECT SearchPhrase FROM hits WHERE SearchPhrase <> '' ORDER BY EventTime, SearchPhrase LIMIT 10;
SELECT CounterID, AVG(length(URL)) AS l, COUNT(*) AS c FROM hits WHERE URL <> '' GROUP BY CounterID HAVING COUNT(*) > 100000 ORDER BY l DESC LIMIT 25;
SELECT REGEXP_REPLACE(Referer, '^https?://(?:www\.)?([^/]+)/.*$', '\1') AS k, AVG(length(Referer)) AS l, COUNT(*) AS c, MIN(Referer) FROM hits WHERE Referer <> '' GROUP BY k HAVING COUNT(*) > 100000 ORDER BY l DESC LIMIT 25;
SELECT REGEXP_REPLACE(Referer, '^https?://(?:www\.)?([^/]+)/.*$', '$1') AS k, AVG(length(Referer)) AS l, COUNT(*) AS c, MIN(Referer) FROM hits WHERE Referer <> '' GROUP BY k HAVING COUNT(*) > 100000 ORDER BY l DESC LIMIT 25;

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Query was previously returning incorrect results. Should be $1.

Comment thread sail-partitioned/query
spark = SparkSession.builder.remote(f"sc://localhost:{port}").getOrCreate()
df = spark.read.parquet("partitioned")
df = df.withColumn("EventTime", F.col("EventTime").cast("timestamp"))

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added this in #967, turns out it is unnecessary.

Comment thread sail/query
spark = SparkSession.builder.remote(f"sc://localhost:{port}").getOrCreate()

df = spark.read.parquet("hits.parquet")
df = df.withColumn("EventTime", F.col("EventTime").cast("timestamp"))

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added this in #967, turns out it is unnecessary.

@rschu1ze

Copy link
Copy Markdown
Member

ClickBench currently measures Sail 0.6.5. This PR upgrades to 0.6.6, released one week after 0.6.5. Did anything related to performance change in this seemingly minor release? Would it be possible to postpone the next ClickBench submission until the next major release? Asking because creating measurements (like here just a couple of days ago) creates some manual work on our end.

@shehabgamin

Copy link
Copy Markdown
Contributor Author

@rschu1ze Yeah we can wait until the big Sail release.

I'll leave this PR open for now and ping you when it's updated

@github-actions

Copy link
Copy Markdown
Contributor

Results for sail are ready for: c6a.4xlarge.
Results for sail-partitioned are ready for: c6a.4xlarge.
This pull request is from a fork, so the automation cannot push to it; save this result as sail-partitioned/results/20260720/c6a.4xlarge.json.
This pull request is from a fork, so the automation cannot push to it; save this result as sail/results/20260720/c6a.4xlarge.json.

Logs:

@alexey-milovidov alexey-milovidov added the machine:all PR benchmark on every machine type label Jul 20, 2026
@alexey-milovidov alexey-milovidov self-assigned this Jul 20, 2026
@alexey-milovidov
alexey-milovidov deployed to benchmark-approval July 20, 2026 22:06 — with GitHub Actions Active
@github-actions

Copy link
Copy Markdown
Contributor

Results for sail are ready for: c6a.2xlarge, c6a.4xlarge, c6a.metal, c6a.xlarge, c7a.metal-48xl, c8g.4xlarge, c8g.metal-48xl.
Results for sail-partitioned are ready for: c6a.2xlarge, c6a.4xlarge, c6a.metal, c6a.xlarge, c7a.metal-48xl, c8g.4xlarge, c8g.metal-48xl.
This pull request is from a fork, so the automation cannot push to it; save this result as sail-partitioned/results/20260720/c8g.4xlarge.json.
This pull request is from a fork, so the automation cannot push to it; save this result as sail-partitioned/results/20260720/c7a.metal-48xl.json.
This pull request is from a fork, so the automation cannot push to it; save this result as sail-partitioned/results/20260720/c6a.metal.json.
This pull request is from a fork, so the automation cannot push to it; save this result as sail-partitioned/results/20260720/c6a.4xlarge.json.
This pull request is from a fork, so the automation cannot push to it; save this result as sail/results/20260720/c8g.4xlarge.json.
This pull request is from a fork, so the automation cannot push to it; save this result as sail/results/20260720/c7a.metal-48xl.json.
This pull request is from a fork, so the automation cannot push to it; save this result as sail/results/20260720/c6a.metal.json.
This pull request is from a fork, so the automation cannot push to it; save this result as sail/results/20260720/c6a.4xlarge.json.
This pull request is from a fork, so the automation cannot push to it; save this result as sail-partitioned/results/20260720/c6a.2xlarge.json.
This pull request is from a fork, so the automation cannot push to it; save this result as sail/results/20260720/c6a.2xlarge.json.
This pull request is from a fork, so the automation cannot push to it; save this result as sail/results/20260720/c8g.metal-48xl.json.
This pull request is from a fork, so the automation cannot push to it; save this result as sail-partitioned/results/20260720/c8g.metal-48xl.json.
This pull request is from a fork, so the automation cannot push to it; save this result as sail/results/20260720/c6a.xlarge.json.
This pull request is from a fork, so the automation cannot push to it; save this result as sail-partitioned/results/20260720/c6a.xlarge.json.

Logs:

…large, c6a.metal, c6a.xlarge, c7a.metal-48xl, c8g.4xlarge, c8g.metal-48xl)
@alexey-milovidov

Copy link
Copy Markdown
Member

The result files from the comment above are now committed to this PR directly (d6de6f2) — no need to save them manually. This was a test of new automation (#1011) that lets the results collector push to fork PRs that allow maintainer edits.

🤖 Generated with Claude Code

@alexey-milovidov
alexey-milovidov merged commit fdfb534 into ClickHouse:main Jul 20, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

machine:all PR benchmark on every machine type

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants